FROM java:8

# 添加时区环境变量，亚洲，上海
ENV TimeZone=Asia/Shanghai
#使用软连接,并且将时区配置覆盖/etc/timezone
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone

VOLUME /tmp
ADD *.jar app.jar
EXPOSE 8082
EXPOSE 7082
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", \
# 指定堆内存最大值，
"-Xmx500m",\
# 指定非堆内存的元空间最大值
"-XX:MaxMetaspaceSize=128m",\
# Metaspace的一部分，程序的代码被存储在这里，启动后几乎不会增长，
# 可以根据自己的情况指定一个比较小的值，给Metaspace其他部分留够空间
"-XX:CompressedClassSpaceSize=24m",\

"-XX:+PrintGCDetails", \
"-XX:+PrintGCTimeStamps", \
"-XX:+HeapDumpOnOutOfMemoryError", \
"-XX:HeapDumpPath=/opt/infosec/cssp", \
"-Xloggc:/opt/infosec/cssp", \
# 指定宿主机的公网ip
"-Djava.rmi.server.hostname=119.91.212.173", \
# 用于Java VisualVM远程监控的端口
"-Dcom.sun.management.jmxremote.port=7082", \
# 指定“用于Java VisualVM远程监控的端口”需要挂载到宿主机的哪个端口
"-Dcom.sun.management.jmxremote.rmi.port=7082", \
"-Dcom.sun.management.jmxremote=true", \
# 配置是否需要验证，如果true，则在使用Java VisualVM连接的时候需要你认证账号密码
"-Dcom.sun.management.jmxremote.authenticate=false", \
# 不指定ssl
"-Dcom.sun.management.jmxremote.ssl=false", \
"-Dcom.sun.management.jmxremote.local.only=false", \
"/app.jar"]